go_bunzee

서버리스 2.0 – Function 스트림 소개 | 매거진에 참여하세요

questTypeString.01quest1SubTypeString.04
publish_date : 25.08.26

서버리스 2.0 – Function 스트림 소개

#서버리스 #스트리밍 #비용 #최적화 #차이 #기능 #구조 #람다

content_guide

Serverless 2.0 – Function Streaming이 만드는 새로운 서버리스 시대

서버리스, 한 번 더 진화하다

서버리스(Serverless)는 개발자들에게 거의 마법 같은 단어였어요.
“서버 신경 쓰지 말고, 그냥 코드만 올려라. 인프라는 우리가 알아서.”
AWS Lambda, Azure Functions, Google Cloud Functions가 등장하면서 작은 스타트업도 거대한 인프라를 가진 기업처럼 서비스할 수 있었죠.

하지만 시간이 흐르면서 서버리스에도 불편함이 드러났습니다.

  • Cold Start 문제: 첫 실행이 느리다

  • 상태 관리의 불편함

  • 긴 실행 시간의 제약

그리고 2025년, 새로운 흐름이 등장했어요. 바로 Function Streaming을 포함한 Serverless 2.0입니다.

Function Streaming이란?

전통적인 서버리스 함수는 “짧고 빠른 실행”이 전제였어요. 예를 들어 이미지 썸네일 생성, 간단한 API 응답 같은 작업이죠.

하지만 생성형 AI 시대에는 얘기가 달라집니다.

  • - 대형 언어 모델(LLM) 호출

  • - 실시간 데이터 처리

  • - 스트리밍 응답

이런 작업은 단순히 “한 번 호출하고 끝내기”엔 너무 길고 복잡해요.

그래서 등장한 게 Function Streaming입니다.

  • 함수가 실행되는 동안, 결과를 스트리밍 형태로 계속 반환하고 클라이언트는 기다리지 않고 부분 결과를 받아 처리

  • 실시간 UX (예: ChatGPT 스트리밍 답변, 동영상 실시간 변환) 구현 가능

왜 지금 필요한가?

  1. AI API 시대

    • OpenAI, Anthropic, Google API 모두 스트리밍 응답을 기본 제공

    • 서버리스도 이걸 자연스럽게 지원해야 함

  2. 실시간 데이터 파이프라인

    • IoT, 게임, 증권 거래, 모니터링 서비스는 “실시간 반응”이 핵심, 배치 처리로는 한계

  3. 사용자 경험(UX)

    • 긴 응답을 한 번에 내보내면 “멈춘 것처럼” 보임, 스트리밍으로 쪼개서 보여주면 “살아있는 인터랙션” 가능

주요 벤더별 Function Streaming 지원 현황 (2025 기준)

벤더/플랫폼

스트리밍 지원

특징 기능

강점

한계

AWS Lambda

제한적 (Kinesis·Bedrock과 연동)

Event-driven 중심, AI API 스트리밍은 부가 서비스로 처리

AWS 생태계와 긴밀

기본 Lambda는 스트리밍 UX에 최적화 아님

Azure Functions

지원 (Durable Functions)

장기 실행·상태 관리 가능, Azure AI Studio와 통합

상태 관리에 강점

러닝커브가 다소 있음

Google Cloud Run

강력 지원 (HTTP 스트리밍)

서버리스 컨테이너 기반, Vertex AI와 연계

AI·데이터 스트리밍에 최적

러닝타임 비용이 다른 벤더보다 높을 수 있음

Vercel Edge Functions

기본 지원

Next.js 친화적, LLM 앱 스트리밍 응답 최적화

개발자 경험(DX) 최고

대규모 엔터프라이즈 워크로드는 한계

Render / Fly.io

지원 강화 중

간단한 Function Streaming, 스타트업 친화

가격 저렴, 배포 빠름

글로벌 인프라 스케일은 AWS·GCP 대비 제한

기존 서버리스(1세대) vs Serverless 2.0(Function Streaming)

기존 서버리스(1세대)는 “짧고 즉각적인 작업”에 최적화 → 이미지 썸네일 만들기, 알림 전송 등

  • Serverless 2.0(Function Streaming)은 “흐름 자체를 서비스” → 대화형 AI, 금융 트레이딩, IoT 실시간 모니터링 등

즉, 기존에는 함수가 “번쩍 하고 끝났다”면, 지금은 함수가 “계속 말하고, 반응하며, 살아 있는 흐름”이 된 거예요.

구분

Serverless 1.0 (기존)

Serverless 2.0 (Function Streaming)

실행 시간

짧은 실행(수 초~분)

장기 실행·지속적 스트림 가능

응답 방식

단일 응답 (요청 → 결과)

스트리밍 응답 (중간 결과 계속 전달)

사용 사례

이미지 리사이징, 간단 API, 이벤트 트리거

LLM 호출, 대화형 앱, 실시간 데이터 처리

상태 관리

외부 스토리지 필요 (DynamoDB 등)

Durable Functions, 내장 상태 관리

과금 모델

요청 단위(Invocation)

실행 시간·스트림 단위

UX/개발 경험

배치 처리 중심, 응답 지연

실시간 인터랙션, 사용자 경험 개선

Serverless 2.0(Function Streaming) 비용 구조

1. 기존 서버리스(1세대) 과금

  • Invocation 기반: 요청 1회마다 실행 → 실행 시간(ms) × 메모리 용량 기준으로 과금

  • 장점: 요청 없으면 비용 0원 (Idle 상태에서는 과금 없음)

  • 단점: 요청이 몰리면 예측 불가한 비용 발생

2. Serverless 2.0 과금

  • 스트림 실행 단위 과금: 함수가 실행되는 동안 지속적으로 리소스를 점유 → 실행 시간 기준 과금

  • 실시간 응답(LLM 스트리밍, IoT 데이터 파이프라인 등)에서는 “짧게 여러 번”이 아니라 “길게 한 번” 실행되는 구조 → 비용이 상대적으로 커질 수 있음

  • 특히 AI API 호출은 GPU/메모리 자원을 많이 잡아먹으므로 단가가 높아짐

3. 콜드 스타트 문제와 비용의 상관관계

  • 콜드 스타트: 서버리스 함수는 요청이 없으면 “잠자기 모드”에 들어감 → 다시 깨울 때 몇 백 ms ~ 수 초 지연 발생

  • 장점: 호출 안 하면 자원 소모 0 → 비용 절감

  • 단점: 잦은 호출 환경에서는 UX가 나빠짐

그래서 클라우드 벤더들은 Provisioned Concurrency(상시 예열 옵션) 을 도입했어요.

  • AWS Lambda: Provisioned Concurrency

  • GCP Cloud Run: 최소 인스턴스 Always On 옵션

  • Azure Functions: Always Ready 플랜

  • 즉, “콜드 스타트를 줄이고 싶으면 상시 예열을 유지 → 하지만 그만큼 비용이 올라간다”는 딜레마가 생기는 거예요.

비용 최적화 전략

1. 아키텍처 레벨

  • - 하이브리드 분리: 스트리밍은 Cloud Run/Edge Functions, 비스트리밍은 Lambda로

  • - 3단계 파이프라인: Fast Gate(요청 검증) → Worker(실행) → Post Sink(후처리)

  • - 엣지 우선: 초기 응답은 엣지 함수가 처리, 메인 모델 호출은 최소화

2. 플랫폼 설정

  • - 예열 최소화: 피크 시간대만 Always-on, 나머지는 최소 인스턴스

  • - Concurrency·Timeout 튜닝: 세션 길이·동시 처리 수를 요금제별로 제한

  • - 리전 최적화: 함수·DB·모델을 같은 리전에 묶어 네트워크 비용 절감

애플리케이션 레벨

  • - 토큰 상한·요약: LLM 응답 길이 조절

  • - 쿼리 캐시: 동일 질문·검색 결과 캐싱

  • - 품질 계층화: Free → 경량 모델, Pro → 고급 모델

  • - 프로토콜 선택: 단방향은 SSE, 양방향만 WebSocket

Serverless 2.0은 단순한 기능 업그레이드가 아닙니다.
AI와 실시간성이 요구되는 시대에 맞춘 서버리스의 재탄생이에요.

  • 기존 서버리스: “짧고 빠른 실행, 요청 없으면 0원”

  • Serverless 2.0: “실시간 스트리밍, UX 혁신, 하지만 비용 관리가 관건”

앞으로 앱의 많은 부분이 이 Serverless 2.0 위에서 돌아가게 될 겁니다.

따라서 개발자와 기획자는 이제 “콜드 스타트 줄이기”와 “실행 비용 최적화”까지 함께 고민해야 하는 시대가 된 것이죠.